In semiconductor processing, multi-layered features are fabricated on semiconductor substrates using specific processing recipes having many processing acts. A cluster tool, which integrates a number of process chambers to perform a process sequence without removing substrates from a processing environment (e.g., a controlled environment), is generally used in processing semiconductor substrates. A process sequence is generally defined as the sequence of device fabrication acts, or process recipe acts, completed in one or more processing chambers in a cluster tool. A process sequence may generally contain various substrate processing acts (e.g., for electronic device fabrication).
Cluster tools may include a sequencer that is responsible for moving substrates to different positions, and running processes on the substrates based on the user input. The sequencer is configured to improve substrate movements so that a greater throughput can be achieved. While transferring the substrates in the cluster tool, the sequencer also makes sure that all constraints specified by the process engineers or users are satisfied. Conventional approaches are heuristic, i.e., each product is written with custom software code that handles topologies and the most common statistics that the cluster tool can find itself in. It is time consuming to write this code for new products, and also take a long time to stabilize.